﻿using GalaSoft.MvvmLight;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp1Demo.Model
{
    [DebuggerDisplay("{" + nameof(GetDebuggerDisplay) + "(),nq}")]
    public class User : ViewModelBase
    {
        private int user_id;
        private int dept_id;
        private string login_name;
        private string user_name;
        private string user_type;
        private string email;
        private string phonenumber;
        private char sex;
        private string avatar;
        private string password;
        private string salt;
        private char status;
        private char del_flag;
        private string login_ip;
        private DateTime login_date;
        private string create_by;
        private DateTime create_time;
        private string update_by;
        private DateTime update_time;
        private string remark;

        public User(int user_id, int dept_id, string login_name, string user_name, string user_type, string email, string phonenumber, char sex, string avatar, string password, string salt, char status, char del_flag, string login_ip, DateTime login_date, string create_by, DateTime create_time, string update_by, DateTime update_time, string remark)
        {
            this.user_id = user_id;
            this.dept_id = dept_id;
            this.login_name = login_name;
            this.user_name = user_name;
            this.user_type = user_type;
            this.email = email;
            this.phonenumber = phonenumber;
            this.sex = sex;
            this.avatar = avatar;
            this.password = password;
            this.salt = salt;
            this.status = status;
            this.del_flag = del_flag;
            this.login_ip = login_ip;
            this.login_date = login_date;
            this.create_by = create_by;
            this.create_time = create_time;
            this.update_by = update_by;
            this.update_time = update_time;
            this.remark = remark;
        }

        public int User_id { get => user_id; set { user_id = value; RaisePropertyChanged(); } }
        public int Dept_id { get => dept_id; set { dept_id = value; RaisePropertyChanged(); } }
        public string Login_name { get => login_name; set { login_name = value; RaisePropertyChanged(); } }
        public string User_name { get => user_name; set { user_name = value; RaisePropertyChanged(); } }
        public string User_type { get => user_type; set { user_type = value; RaisePropertyChanged(); } }
        public string Email { get => email; set { email = value; RaisePropertyChanged(); } }
        public string Phonenumber { get => phonenumber; set { phonenumber = value; RaisePropertyChanged(); } }
        public char Sex { get => sex; set { sex = value; RaisePropertyChanged(); } }
        public string Avatar { get => avatar; set { avatar = value; RaisePropertyChanged(); } }
        public string Password { get => password; set { password = value; RaisePropertyChanged(); } }
        public string Salt { get => salt; set { salt = value; RaisePropertyChanged(); } }
        public char Status { get => status; set { status = value; RaisePropertyChanged(); } }
        public char Del_flag { get => del_flag; set { del_flag = value; RaisePropertyChanged(); } }
        public string Login_ip { get => login_ip; set { login_ip = value; RaisePropertyChanged(); } }
        public DateTime Login_date { get => login_date; set { login_date = value; RaisePropertyChanged(); } }
        public string Create_by { get => create_by; set { create_by = value; RaisePropertyChanged(); } }
        public DateTime Create_time { get => create_time; set { create_time = value; RaisePropertyChanged(); } }
        public string Update_by { get => update_by; set { update_by = value; RaisePropertyChanged(); } }
        public DateTime Update_time { get => update_time; set { update_time = value; RaisePropertyChanged(); } }
        public string Remark { get => remark; set { remark = value; RaisePropertyChanged(); } }

        private string GetDebuggerDisplay()
        {
            return ToString();
        }
    }
}
